package com.hospital.rank.module.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hospital.common.dto.rank.module.RankSearchDto;
import com.hospital.common.pojo.TRank;
import com.hospital.common.vo.rank.module.PostRankVo;
import com.hospital.rank.module.base.PeriodType;
import com.hospital.rank.module.base.TargetType;

import java.util.List;

public interface TRankService extends IService<TRank>{
    /**
     * 排行榜统计
     * @param periodType 周/月
     * @param targetType 医生/板块/帖子
     */
    void rankStat(PeriodType periodType, TargetType targetType);
    List<?> rankSearch(TargetType targetType, PeriodType periodType);
    List<PostRankVo> hotPostSearch();
    void hotPostStat();

    List<?> rankSearchInSection(RankSearchDto rankSearchDto);

    /**
     * 板块内排行榜统计
     * @param periodType 周/月
     * @param targetType 医生/帖子
     */
    void rankStatInSection(PeriodType periodType, TargetType targetType);
}
